(deftemplate Degustare
    (slot stringIntrebare)
    (slot raspuns)
    )

(assert (Degustare (stringIntrebare nil)(raspuns nil)))

(defrule q1
(Degustare (stringIntrebare nil)(raspuns nil))
=>
(printout t "Doriti un meniu cu vin ?" crlf)
    (bind ?r (read))
(assert (Degustare (stringIntrebare "Doriti un meniu cu vin")(raspuns ?r)))
)

(defrule q2
(Degustare (stringIntrebare "Doriti un meniu cu vin")(raspuns NU))
=>
(printout t "Va uram pofta buna. " crlf)
)

(defrule q3
(Degustare (stringIntrebare "Doriti un meniu cu vin")(raspuns DA))
=>
(printout t "Care din meniurile noastre le doriti? " crlf 
        "1- Friptura de vita la cuptor in sos de vin rosu" crlf
        "2- Pulpe de pui cu caise" crlf
        "3- Biban cu ierburi proaspete si lamaie" crlf
        "4- Porc sotat cu sos de cidru")
       (bind ?r (read))
(assert (Degustare (stringIntrebare "Care din meniurile noastre le doriti")(raspuns ?r)))
)

(defrule q4
(Degustare (stringIntrebare "Care din meniurile noastre le doriti")(raspuns 1))
=>
(printout t "Vinul potrivit pentru friptura de vita la cuptor in sos de vin rosu este Cabaret Sauvignon. " crlf)
)

(defrule q5
(Degustare (stringIntrebare "Care din meniurile noastre le doriti")(raspuns 2))
=>
(printout t "Vinul potrivit pentru pulpe de pui cu caise este Point Noir. " crlf)
)

(defrule q6
(Degustare (stringIntrebare "Care din meniurile noastre le doriti")(raspuns 3))
=>
(printout t "Vinul potrivit pentru biban cu ierburi proaspete si lamaie este Sauvignon. " crlf)
)

(defrule q7
(Degustare (stringIntrebare "Care din meniurile noastre le doriti")(raspuns 4))
=>
(printout t "Vinul potrivit pentru porc sotat cu sos de cidru este Chardonnay. " crlf)
)

(run)